x=imread('C:\Users\HP\Desktop\11.jpg');   %读取图像  
X=rgb2gray(x);             %转换为灰度图像
[ca1,chd1,cvd1,cdd1] = dwt2(X,'bior3.7');   %进行单层小波分解
set(0,'defaultFigurePosition',[100,100,1000,500]); %修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])  
figure         %显示小波变换各个分量                   
subplot(141); 
imshow(uint8(ca1)); %近似系数分量
title('近似分量')
subplot(1,4,2); 
imshow(chd1);   %细节系数的水平分量
title('细节水平分量')
subplot(1,4,3);   
imshow(cvd1);   %细节系数的垂直分量
title('细节垂直分量')
subplot(1,4,4); 
imshow(cdd1);    %细节系数的对角分量
title('细节对角分量')                  
figure
subplot(121),imshow(x);        %显示原图  
title('原图')
subplot(122),imshow([ca1,chd1;cvd1,cdd1]); %显示小波变换分量组合图像
title('小波变换分量组合图像')

%利用函数idwt2()实现图像的重构及显示
[x,map]=imread('C:\Users\HP\Desktop\11.jpg');   %读取图像                        
nbcol = size(map,1);       %获取颜色映射的列数         
[cA1,cH1,cV1,cD1] = dwt2(x,'db1');   %对图像数据x利用db1小波,进行单层图像分割
sX = size(X);                                      %读取原图像大小
A0 = idwt2(cA1,cH1,cV1,cD1,'db4',sX);   %用小波分解第一层系数进行重构
set(0,'defaultFigurePosition',[100,100,1000,500]);  %修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])
subplot(131),imshow(uint8(X));      %显示原图像
title('原图像')    
subplot(132),imshow(uint8(A0));    %显示重构后的图像
title('重构图像')


